home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO015A.dsk
/
LOG.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
21KB
|
269 lines
10 ONERR GOTO 1120
20 GOTO 70
40 & AT PEEK(836),A: & RETURN
45 & AT PEEK(848),A: & RETURN
46 & AT PEEK(839),A: & RETURN
50 & AT PEEK(839),A: PRINT OP$;F$;",L128": & RETURN
60 PRINT RD$;F$;",R";Z: INPUT "";NM$: & RETURN
70 HOME : IF PEEK(853) = 2 AND PEEK(49183) <128 THEN PRINT CHR$(4);"PR#3"
75 POKE 34,5: POKE 35,20: POKE 813,0: & GOSUB 2910:MD = PEEK(793): ON MD = 4 GOTO 2570
80 POKE 813,0: POKE 824,0: & LOAD Z$: & GOSUB 2910:MD = PEEK(793): ON MD = 5 GOTO 2690: POKE 810,0: POKE 807,255: POKE 805,255: POKE 803,255: & FN 5,A: POKE 793,0: POKE 825,0: & RECALL NM$: IF LEN(NM$) <127 THEN NM$ = "": FOR I = 1 TO 127:NM$ = NM$ +"X": NEXT I
150 & PEEK775,CT: & PEEK777,MS:CT = CT +1: POKE 847,0: ONERR GOTO 1120
170 HOME :Z$ = "WAITING FOR CALL": & OR ,Z$: IF PEEK(853) < >2 THEN 185
181 IF PEEK(49183) <128 THEN 185
182 VTAB 6: PRINT : POKE 36,47: & PRINT "-- Last Five Callers --": VTAB 7: PRINT : POKE 36,46: & PRINT "--------------------------": FOR I = 1 TO 5: VTAB 12: PRINT : VTAB 8 +(2 *I): POKE 36,46: & PRINT I;" ";LS$(I): NEXT
185 VTAB 11: HTAB 10: & PRINT "Waiting for call #";CT,,: HTAB 10: & PRINT "Press 'T' test the BBS",,: HTAB 6: & PRINT "Press 'O' for the Options Menu"
190 & FN 0,A: ON A = 1 GOTO 350: & LOAD Z$: & SGNZ$: ON Z$ = "O" GOTO 210: ON Z$ = "T" GOTO 320: GOTO 190
210 HOME :Z$ = "** Options Menu **": & OR ,Z$: PRINT : HTAB 12: & PRINT Z$: VTAB 9:X = 11: HTAB X: & PRINT "[U]ser utilities",,: HTAB X: & PRINT "[N]ew user log ons",,: HTAB X: & PRINT "[P]rogram text (edit)",,: HTAB X: & PRINT "[E]xit Program",,: HTAB X: & PRINT "[Q]uit (Rtn.)",,: HTAB 14: & PRINT "Command? ";
260 & GET Z$: & SGNZ$: & INT"UENPQ",Z$,Z: ON Z GOTO 2690,330,280,3430,80: GOTO 260
280 HOME :X = 5:Z$ = "** New User Log-ons **": & PRINT SPC( 9);Z$: & OR ,Z$: & PRINT , SPC( X);"[A]llow new user log-ons": & PRINT , SPC( X);"[D]on't allow new user log-ons": & PRINT , SPC( X);"[C]hange back door log-on": & PRINT , SPC( X);"[S]tandard names only": & PRINT , SPC( X);"[P]en names allowed": & PRINT , SPC( X);"[Q]uit"
281 & PRINT , SPC( 9);"Command? ";
287 & GET Z$: & SGNZ$: & INT"ADCQSP",Z$,Z: IF Z = 0 THEN & PRINT CHR$(7);: GOTO 287
288 ON Z GOTO 298,299,290,210,331,332
290 HOME : VTAB 9: & PRINT "Backdoor Password = ";P1$: & PRINT ,"Enter new password? ";: & STR$10," ": & STEP P1$: GOTO 310
298 PW = 1:Z$ = "New users allowed!": GOTO 300
299 PW = 0:Z$ = "New users are not allowed!"
300 Z = (40 - LEN(Z$))/2: HOME : VTAB 12: & PRINT SPC( Z);Z$
310 & GOSUB 46: PRINT ST$;"VAR.LOG": GOTO 280
320 HOME :W = 0: GOTO 396
330 END
331 AL% = 1:Z$ = "Standard names only": POKE 860,AL%: GOTO 300
332 AL% = 0:Z$ = "Pen names (alias's) are allowed!": POKE 860,AL%: GOTO 300
350 POKE 803,0:Z$ = "Ring Detected": & OR ,Z$: & PRINT SPC( 14);Z$, SPC( 10);"Waiting for Carrier",,: POKE 803,255: PRINT CHR$(7); CHR$(7): & FN 1,A: & FN 2,A: ON A = 0 GOTO 380: & FN 4,A: POKE 793,0: HOME : VTAB 12: & PRINT SPC( 12);"No Carrier Found": FOR I = 0 TO 1000: NEXT : GOTO 80
380 & CLEAR : IF PEEK(772) = 1 THEN POKE 824,10
390 HOME : PRINT : PRINT : POKE 803,0: & PRINT SPC( 14);"Carrier Found": POKE 803,255: FOR I = 0 TO 200: NEXT :W = 0: & PRINT CHR$(7); CHR$(7); CHR$(7)
396 IF PEEK(873) = 1 THEN 440
400 Z$ = "LOGGING ON": & OR ,Z$: & PRINT ,A$(0);: & GET Z$: ON Z$ = CHR$(13) GOTO 410:W = W +1: ON W = 3 GOTO 80: & PRINT ,A$(2),: GOTO 400
410 & PRINT ,A$(1);: & GET Z$:W = 0: ONERR GOTO 1120
440 & PRINT ,,A$(3): IF PEEK(874) < >1 THEN 470
455 & AT PEEK(841),A: IF A < >0 THEN 470
458 PRINT BL$;"MSG."; PEEK(875);",A";HM: & PRINT = HM
470 Z$ = "GETTING PRIMARY PASSWORD": & OR ,Z$: & STR$7," ": & PRINT ,A$(4);: POKE 825,255: & INPUT PW$: & SGNPW$: POKE 825,0: ON PW$ = "" GOTO 530: ON PW$ = "NEW" GOTO 590: ON PW$ = P1$ GOTO 600: ON LEN(PW$) <7 GOTO 530:R = VAL( MID$ (PW$,3,3)): GOTO 640
530 W = W +1: IF W = 3 THEN & FN 4,A: POKE 793,0: GOTO 80
540 ONERR GOTO 1120
550 & PRINT ,A$(6),,: GOTO 470
590 IF PW = 0 THEN POKE 793,0: & PRINT ,A$(12): FOR I = 1 TO 600: NEXT I: GOTO 80
600 Z$ = "LOG ON NEW USER": & OR ,Z$: GOTO 1220
640 ONERR GOTO 720
641 Z$ = "CHECKING PASSWORD": & OR ,Z$: IF MID$ (PW$,1,1) <"A" OR MID$ (PW$,1,1) >"Z" THEN 530
643 IF MID$ (PW$,2,1) <"A" OR MID$ (PW$,2,1) >"Z" THEN 530
644 IF MID$ (PW$,6,1) <"A" OR MID$ (PW$,6,1) >"Z" THEN 530
645 IF MID$ (PW$,7,1) <"A" OR MID$ (PW$,7,1) >"Z" THEN 530
646 IF MID$ (PW$,3,1) <"0" OR MID$ (PW$,3,1) >"9" THEN 530
647 IF MID$ (PW$,4,1) <"0" OR MID$ (PW$,4,1) >"9" THEN 530
648 IF MID$ (PW$,5,1) <"0" OR MID$ (PW$,5,1) >"9" THEN 530
649 IF MID$ (NM$,2,1) = " " OR MID$ (NM$,2,1) = "X" THEN 680
660 IF MID$ (NM$,56,7) = PW$ AND MID$ (NM$,1,1) < >"D" THEN 760
670 IF R = VAL( MID$ (NM$,58,3)) THEN 530
680 & GOSUB 50:Z = R: & GOSUB 60: PRINT CL$;F$: & STORE NM$: IF PW$ < > MID$ (NM$,56,7) THEN 530
700 IF MID$ (NM$,1,1) = "D" THEN 530
710 GOTO 760
720 PRINT CL$;F$: & ONERR = ER,LI: ONERR GOTO 720
740 IF ER >200 THEN PRINT CL$: GOTO 80
750 GOTO 530
760 Z$ = "GETTING SECONDARY PASSWORD": & OR ,Z$: & STR$4: & PRINT ,A$(5);: POKE 825,255: & INPUT Z$: POKE 825,0: ON Z$ < > MID$ (NM$,50,4) GOTO 530
765 Z$ = "PRELIMINARLY LOG ON": & OR ,Z$: POKE 824, VAL( MID$ (NM$,98,3)): & POS0,DT,TM:DT$ = RIGHT$("000000" + STR$(DT),6): & POKE 775,CT: IF MID$ (NM$,70,6) < >DT$ THEN R = 0: GOTO 810
800 R = VAL( MID$ (NM$,79,1)): IF R = 9 THEN 820
810 R = R +1: & MID$ STR$(R),NM$,79,1: & STORE NM$
820 Q$ = MID$ (NM$,1,1): & INT"*?X",Q$,Z: ON Z GOTO 1160,1180,1100: ON MID$ (NM$,79,1) > MID$ (NM$,63,1) GOTO 1060: IF MID$ (NM$,90,1) = "1" THEN POKE 805,0: GOTO 850
840 POKE 805,255
850 IF MID$ (NM$,91,1) = "1" THEN POKE 807,255: GOTO 870
860 POKE 807,0
870 :
880 & PRINT A$(11): ON PEEK(774) GOTO 920,900,910
900 Q$ = MID$ (NM$,1,1): ON Q$ = "?" GOTO 920: ON Q$ = "X" GOTO 920
910 & PRINT A$(14 + PEEK(773))
920 & PRINT A$(18);CT: & PEEK777,MS:Z = VAL( MID$ (NM$,93,5)):Z = MS -Z: & PRINT A$(19);Z;A$(20): & PRINT ,A$(21): FOR I = 1 TO 5: IF LS$(I) = "" THEN & PRINT I;" ";A$(22): GOTO 980
970 & PRINT I;" Box #";@LS$(I)
980 NEXT : ONERR GOTO 1045
982 IF PEEK(868) = 0 THEN 990
983 & AT PEEK(841),R: IF R >0 THEN 990
984 PRINT BL$;"MSG."; PEEK(869);",A";HM: & PRINT ,, = HM: & PRINT ,,,: ONERR GOTO 1045
990 IF MID$ (NM$,92,1) >"0" THEN & PRINT ,,A$(24),,: & AT PEEK(840),A: PRINT BL$;"TELEX."; MID$ (NM$,92,1);",A";HM: & PRINT = HM: & MID$ "0",NM$,92,1: & STORE NM$
1000 POKE 793,1: & PRINT ,A$(23): & POKE 798,0:Z = VAL( MID$ (NM$,86,1)):I = PEEK(814 +Z): IF PEEK(772) >0 THEN I = I *3
1026 IF I >255 THEN I = 255
1027 POKE 812,I:R = VAL( MID$ (NM$,83,3)): POKE 811,R: POKE 813,255: IF MID$ (NM$,1,1) = "#" THEN POKE 812, PEEK(880)
1041 & GOSUB 40: PRINT RN$;"BBS.0"
1045 & ONERR = ER,LI: ONERR GOTO 1045
1046 IF ER >200 THEN POKE 793,0: GOTO 80
1047 & PRINT ,,A$(24),,: & MID$ "0",NM$,92,1: & STORE NM$: GOTO 1000
1060 & PRINT A$(8): GOTO 1170
1100 & PRINT A$(9): GOTO 1170
1120 & ONERR = ERR,LINE: ONERR GOTO 1120
1130 IF ERR >200 THEN GOTO 80
1140 ONERR GOTO 1120
1150 & PRINT : & PRINT "ERROR = ";ER;" ON LINE ";LI: & FN 4,A: POKE 793,0: GOTO 80
1160 & PRINT A$(7)
1170 FOR I = 1 TO 3500: NEXT I: GOTO 80
1180 & PRINT A$(10): GOTO 880
1220 Q$ = "": FOR I = 1 TO 127:Q$ = Q$ +"X": NEXT :J = 1: & PRINT ,N$(0),,: IF PEEK(876) < >1 THEN 1250
1245 & AT PEEK(841),A: IF A < >0 THEN 1250
1247 PRINT BL$;"MSG."; PEEK(877);",A";HM: & PRINT = HM: & PRINT
1250 ON J GOSUB 1930,2020,2090,2190,2300,2420:J = J +1: IF J <10 THEN 1250
1260 & PRINT ,,"1. Name = ";NA$: IF AL% = 1 THEN & PRINT "2. Alias = None": GOTO 1280
1270 & PRINT "2. Alias = ";AL$
1280 & PRINT "3. Phone = ";PH$: & PRINT "4. State = ";ST$: & PRINT N$(12);: & USRZ: ON Z GOTO 1350,1320
1320 & PRINT N$(13);: & STR$1,"14": & INPUT Z$:Z = VAL(Z$): ON Z GOSUB 2090,2190,2300,2420: GOTO 1260
1350 & POS0,DT,TM:DT$ = RIGHT$("000000" + STR$(DT),6): & MID$ DT$,Q$,70,6:Z$ = RIGHT$("00000" + STR$(CT),5): & MID$ Z$,Q$,65,5: & MID$ "00000",Q$,93,5: & MID$ "000",Q$,76,3: & MID$ STR$( PEEK(870)),Q$,81,1: & MID$ "--NNN--",Q$,56,7: & MID$ "0",Q$,79,1: & MID$ "000",Q$,87,3: & MID$ STR$( PEEK(864)),Q$,63,1: & MID$ "A",Q$,80,1: & MID$ "CCC",Q$,83,3
1351 & MID$ CHR$( PEEK(867)),Q$,1,1: & MID$ STR$( PEEK(871)),Q$,92,1: & MID$ "1",Q$,82,1: & MID$ STR$( PEEK(866)),Q$,86,1: IF PEEK(772) = 1 THEN & MID$ "010",Q$,98,3: GOTO 1520
1510 & MID$ "000",Q$,98,3
1520 & MID$ "10000000000000000000",Q$,101,20: & MID$ "0000000",Q$,121,7: & PRINT ,N$(14): ONERR GOTO 1620
1560 & GOSUB 50:I = 0:J = -1
1590 PRINT RD$;F$;",R";I: INPUT Z$: IF MID$ (Z$,1,1) = "D" OR LEN(Z$) <127 THEN J = I:I = I +1: GOTO 1590
1600 IF MID$ (Z$,22,20) = MID$ (Q$,22,20) THEN PRINT CL$;F$: & PRINT N$(15): FOR I = 0 TO 2000: NEXT : GOTO 80
1610 I = I +1: GOTO 1590
1620 PRINT CL$;F$: & ONERR = ER,LI: IF ER >200 THEN 80
1630 IF J <0 THEN J = I
1640 ONERR GOTO 1120
1645 X = ( RND(J) +12) + VAL( MID$ (PH$,5,4)):PW$ = CHR$(( RND(X) *26) +65) + CHR$(( RND(X) *26) +65) + RIGHT$("000" + STR$(J),3) + CHR$(( RND(X) *26) +65) + CHR$(( RND(X) *26) +65): & MID$ PW$,Q$,56,7: & STORE Q$: & PRINT N$(16);: & STR$3,"090": & INPUT Z$:Z = VAL(Z$): IF Z = 0 THEN Z = 40
1672 IF Z >80 THEN Z = 80
1675 X = INT(Z/20): & MID$ STR$(X),Q$,82,1:Z$ = RIGHT$("000" + STR$(Z),3): & MID$ Z$,Q$,83,3: & PRINT ,N$(17): FOR I = 18 TO 26: & PRINT N$(I): NEXT : & PRINT N$(27);: & STR$1: & INPUT Z$: IF Z$ = "" THEN Z$ = "9"
1740 & MID$ Z$,Q$,64,1: & STORE Q$: & GOSUB 50: PRINT WR$;F$;",R";J: PRINT Q$: PRINT CL$;F$:NM$ = Q$ +"": & PRINT N$(28): & PRINT ,N$(29);PW$: & PRINT N$(30); MID$ (Q$,50,4):ST$ = D$ +"STORE": & PRINT N$(31);: & GET Z$: & PRINT ,,N$(32),,: IF PEEK(878) < >1 THEN 1840
1835 & AT PEEK(841),A: IF A < >0 THEN 1840
1837 PRINT BL$;"MSG."; PEEK(879);",A";HM: & PRINT = HM: & PRINT
1840 & STORE Q$: & RECALL NM$: IF MID$ (NM$,1,1) = "*" THEN 80
1843 ONERR GOTO 720
1845 NM$ = Q$: GOTO 765
1880 W = W +1: IF W = 3 THEN POP : GOTO 80
1890 & PRINT ,N$(10),: & RETURN
1930 POKE 805,255: & PRINT ,N$(1);: & USRZ: ON Z GOTO 1940,1950
1940 Z$ = "0":Z = 255: GOTO 1960
1950 Z$ = "1":Z = 0
1960 & MID$ Z$,Q$,90,1: POKE 805,Z: & STORE Q$: & PRINT "............": & PRINT N$(11);: & USRZ: ON Z GOTO 1980,1930
1980 RETURN
2020 & PRINT ,N$(2);: & USRZ: ON Z GOTO 2030,2040
2030 Z$ = "0":Z = 0: GOTO 2050
2040 Z$ = "1":Z = 255
2050 & MID$ Z$,Q$,91,1: POKE 807,Z: & STORE Q$: RETURN
2090 & STR$20,"Az":W = -1
2100 & PRINT N$(3);: & INPUT FT$: IF LEN(FT$) = 0 THEN & GOSUB 1880: GOTO 2100
2120 & PRINT N$(4);: & INPUT LT$: IF LEN(LT$) = 0 THEN & GOSUB 1880: GOTO 2120
2140 NA$ = FT$ +" " +LT$: IF LEN(Z$) >20 THEN & PRINT ,N$(5),: GOTO 2090
2150 & SGNNA$: & MID$ NA$,Q$,2,20: & STORE Q$: RETURN
2190 IF AL% = 1 THEN AL$ = "": GOTO 2220
2195 & STR$20," ": & PRINT N$(6);: & INPUT AL$: & SGNAL$
2220 IF AL$ = "" THEN AL$ = NA$
2230 IF AL$ = "NONE" THEN AL$ = NA$
2240 FOR I = 1 TO LEN(AL$): IF MID$ (AL$,I,1) = "," OR MID$ (AL$,I,1) = ":" THEN & MID$ " ",AL$,I,1
2250 NEXT : & MID$ AL$,Q$,22,20: & STORE Q$: RETURN
2300 & STR$12,"09-":W = 0
2310 & PRINT N$(7);: & INPUT PH$: IF PH$ = "" THEN & GOSUB 1880: GOTO 2310
2330 IF LEN(PH$) < >12 THEN W = W +1: ON W = 3 GOTO 80: & PRINT ,N$(8),: GOTO 2300
2340 IF MID$ (PH$,1,1) = "0" OR MID$ (PH$,5,1) = "0" THEN 80
2350 IF MID$ (PH$,1,1) = "1" OR MID$ (PH$,5,1) = "1" THEN 80
2360 IF MID$ (PH$,4,1) < >"-" OR MID$ (PH$,8,1) < >"-" THEN & GOSUB 1880: GOTO 2300
2370 FOR I = 0 TO 20: IF P$(I) = PH$ THEN POKE 793,0:I = 21: GOTO 2385
2375 NEXT : & MID$ PH$,Q$,42,12: & STORE Q$: RETURN
2385 NEXT : GOTO 80
2420 & STR$2,"Az":W = 0
2430 & PRINT N$(9);: & INPUT ST$: IF LEN(ST$) < >2 THEN & GOSUB 1880: GOTO 2430
2450 & SGNST$: & MID$ ST$,Q$,54,2: & STORE Q$: RETURN
2570 & RECALL NM$: POKE 794,0: POKE 795,0:Z$ = "LOG OFF USER": & OR ,Z$: IF MID$ (NM$,58,1) <"0" OR MID$ (NM$,58,1) >"9" THEN 80
2580 I = VAL( MID$ (NM$,76,3)):I = I +1:Z$ = RIGHT$("000" + STR$(I),3): IF I >999 THEN 2600
2590 & MID$ Z$,NM$,76,3: POKE 790,173: & STORE NM$
2600 & PEEK777,R:Z$ = RIGHT$("00000" + STR$(R),5): & MID$ Z$,NM$,93,5: & POS2,DT,TM:Z$ = RIGHT$("000000" + STR$(DT),6): & MID$ Z$,NM$,70,6: & PEEK775,R:Z$ = RIGHT$("00000" + STR$(R),5): & MID$ Z$,NM$,65,5: & STORE NM$:R = VAL( MID$ (NM$,58,3)): & GOSUB 50: PRINT WR$;F$;",R";R: PRINT NM$: PRINT CL$;F$: & POP 4,1,LS$(5):LS$(1) = MID$ (NM$,58,3) +" " + MID$ (NM$,22,20): & GOSUB 46
2601 PRINT ST$;"VAR.LOG": POKE 793,0: GOTO 80
2690 & RECALL NM$: POKE 803,0: POKE 813,0:Z$ = "SYSOP USER UTILITIES": & OR ,Z$
2700 HOME : & PRINT ," ** User Utilities **",,: & PRINT "[L]evel (Security) [C]lass Code": & PRINT "[W]idth [M]enu Width": & PRINT "[R]ead User Record [V]alidate New Usr": & PRINT "[I]ndex Bit Codes [S]ave User Record": & PRINT "[F]ind Class Codes [D]aily Call Limit"
2701 & PRINT "[T]ime Limit [1]-Telegram": & PRINT "[2] Messages Posted [3] Total Calls": & PRINT "[B]BS (Rtn to BBS) [Q]uit": & PRINT ," Command ";: & GET Z$: & SGNZ$: & INT"LCWMRVISBQFDT123",Z$,Z
2702 ON Z GOTO 2950,2970,2990,3010,3030,3050,3160,3220,3240,3250,3260,3400,2820,2840,2860,2880: GOTO 2700
2820 HOME : INPUT "TIME LIMIT? (0-9): ";Z$: IF Z$ = "" THEN 2700
2830 Z = VAL(Z$):Z$ = RIGHT$("0" + STR$(Z),1): & MID$ Z$,NM$,86,1: & STORE NM$: GOTO 2700
2840 HOME : INPUT "TELEGRAM NUMBER? (0-9): ";Z$: IF Z$ = "" THEN 2700
2850 Z = VAL(Z$):Z$ = RIGHT$("0" + STR$(Z),1): & MID$ Z$,NM$,92,1: & STORE NM$: GOTO 2700
2860 HOME : INPUT "ENTER MESSAGES? (0-999): ";Z$: IF Z$ = "" THEN 2700
2870 Z = VAL(Z$):Z$ = RIGHT$("000" + STR$(Z),3): & MID$ Z$,NM$,87,3: & STORE NM$: GOTO 2700
2880 HOME : INPUT "TOTAL CALLS (0-999): ";Z$: IF Z$ = "" THEN 2700
2890 Z = VAL(Z$):Z$ = RIGHT$("000" + STR$(Z),3): & MID$ Z$,NM$,76,3: & STORE NM$: GOTO 2700
2910 IF LEN(RS$) = 0 THEN & GOSUB 46: PRINT CHR$(4);"RESTORE VAR.LOG"
2915 & SCALE= HM
2920 ST$ = CHR$(4) +"STORE": & RETURN
2950 HOME : INPUT "ENTER SECURITY LEVEL (0-63): ";Z$:Z = VAL(Z$): IF Z$ = "" THEN 2700
2960 Z = Z +64:Z$ = CHR$(Z): & MID$ Z$,NM$,80,1: & STORE NM$: GOTO 2700
2970 HOME : INPUT "ENTER CLASS CODE (*?XD): ";Z$: IF Z$ = "" THEN 2700
2980 & MID$ Z$,NM$,1,1: & STORE NM$: GOTO 2700
2990 HOME : INPUT "ENTER COLUMN WIDTH (20-80): ";Z$:Z = VAL(Z$): IF Z$ = "" THEN 2700
3000 Z$ = RIGHT$("000" + STR$(Z),3): & MID$ Z$,NM$,83,3: & STORE NM$: GOTO 2700
3010 HOME : INPUT "ENTER MENU WIDTH: (1-4) ";Z$: & MID$ Z$,NM$,82,1: & STORE NM$: GOTO 2700
3030 HOME : INPUT "ENTER BOX NUMBER: ";Z: & GOSUB 50: & GOSUB 60: PRINT CL$;F$: & STORE NM$: GOTO 2700
3050 HOME : ONERR GOTO 3150
3060 FOR Z = 0 TO 999: & GOSUB 50
3080 & GOSUB 60: IF MID$ (NM$,1,1) = "*" THEN 3100
3091 IF MID$ (NM$,1,1) = "#" THEN 3100
3092 Z = Z +1: GOTO 3080
3100 PRINT CL$F$: & STORE NM$: HOME : PRINT "VALIDATE THIS PERSON? (Y/N) ";: GET Z$: & SGNZ$: IF Z$ = CHR$(13) OR Z$ = "Y" THEN 3130
3120 PRINT "N": PRINT "DELETE THIS PERSON? (Y/N) ";: GET Z$: & SGNZ$: IF Z$ = CHR$(13) OR Z$ = "Y" THEN 3122
3121 GOTO 3140
3122 PRINT "Y": & MID$ "D",NM$,1,1: GOTO 3135
3130 PRINT "Y": & MID$ "N",NM$,1,1
3135 & STORE NM$: & GOSUB 50: PRINT WR$;F$;",R";Z: PRINT NM$: PRINT CL$;F$
3140 NEXT
3150 & ONERR : PRINT CL$;F$: PRINT : PRINT "VALIDATIONS ARE ALL DONE": PRINT "PRESS ANY KEY TO CONTINUE...";: GET Z$: GOTO 2700
3160 HOME : PRINT "CHANGE WHICH BIT CODE? ";: INPUT "(0-19) ";Z$: IF Z$ = "" THEN 2700
3180 Z = VAL(Z$): IF Z <0 OR Z >19 THEN 2700
3190 Z = Z +101: PRINT "CURRENT BIT CODE = "; MID$ (NM$,Z,1): PRINT "CHANGE TO? (0-9) ";: GET Z$: IF Z$ <"0" OR Z$ >"9" THEN 3160
3210 & MID$ Z$,NM$,Z,1: & STORE NM$: GOTO 3160
3220 HOME : PRINT "SAVING RECORD":Z = VAL( MID$ (NM$,58,3)): IF MID$ (NM$,58,1) >"9" OR MID$ (NM$,58,1) <"0" THEN 2700
3230 & GOSUB 50: PRINT WR$;F$;",R";Z: PRINT NM$: PRINT CL$;F$: GOTO 2700
3240 POKE 803,255: & GOSUB 40: PRINT RN$;"BBS.1"
3250 POKE 793,0: GOTO 210
3260 HOME : ONERR GOTO 3390
3270 PRINT "ENTER FIND KEY ";: GET Z$: FOR Z = 0 TO 999: & GOSUB 50
3300 & GOSUB 60: IF MID$ (NM$,1,1) < >Z$ THEN Z = Z +1: GOTO 3300
3320 PRINT CL$F$: & STORE NM$: PRINT "CHANGE THIS CLASS CODE ";: GET X$: & SGNX$: IF X$ = CHR$(13) THEN 3360
3340 IF X$ = "Y" THEN 3360
3350 PRINT "N": GOTO 3380
3360 PRINT "Y": PRINT "ENTER NEW CLASS! ";: GET X$: IF X$ <" " THEN 3360
3370 & MID$ X$,NM$,1,1: & STORE NM$: & GOSUB 50: PRINT WR$;F$;",R";Z: PRINT NM$: PRINT CL$;F$
3380 NEXT
3390 & ONERR : PRINT CL$;F$: PRINT : PRINT "NO MORE MATCHES...": PRINT "PRESS ANY KEY TO CONTINUE...";: GET Z$: GOTO 2700
3400 HOME : INPUT "INPUT NEW DAILY CALL LIMIT ";Z$: IF Z$ = "" THEN 2700
3410 IF Z$ <"0" OR Z$ >"9" THEN 3400
3420 & MID$ Z$,NM$,63,1: & STORE NM$: GOTO 2700
3430 & PRINT : & PRINT SPC( 9);"** Edit Program Text **": & PRINT ,:X = 7: & PRINT , SPC( X);"[L]og-On Text": & PRINT , SPC( X);"[N]ew User Text": & PRINT , SPC( X);"[P]hone Numbers": & PRINT , SPC( X);"[S]ave changes": & PRINT , SPC( X);"[Q]uit/return to Options": & PRINT , SPC( X);"Command? ";
3510 GET Z$: & SGNZ$: & INT"LNSQP",Z$;Z: IF Z = 0 THEN PRINT CHR$(7);: GOTO 3510
3520 ON Z GOTO 3600,3780,3960,210,3970
3530 VTAB 7: & PRINT :X = 13: & PRINT SPC( X);"[L]ist text": & PRINT , SPC( X);"[E]dit text": & PRINT , SPC( X);"[Q]uit": & PRINT , SPC( X);"Command? ";
3580 GET Z$: & SGNZ$: & INT"LEQ",Z$,Z: IF Z = 0 THEN PRINT CHR$(7);: GOTO 3580
3590 RETURN
3600 HOME : & PRINT SPC( 9);"** Edit Log on Text **": GOSUB 3530: ON Z GOTO 3620,3680,3430
3620 HOME : & PRINT "-- Log On Text --",,:I = 0
3640 IF I >50 THEN 3670
3650 IF A$(I) < >"" THEN & PRINT !;I;">";A$(I): & END Z: ON Z GOTO 3670,3670
3660 I = I +1: GOTO 3640
3670 & PRINT ,,"Press any key to continue...";: GET Z$: GOTO 3600
3680 VTAB 7: & PRINT : CALL -958: VTAB 12: & PRINT SPC( 7);"Edit which line? ";: & STR$2,"090": & INPUT Z$:Z = VAL(Z$): IF Z$ = "" THEN 3600
3690 I = LEN(A$(Z)): IF I = 0 THEN 3720
3700 FOR X = 1 TO I: IF MID$ (A$(Z),X,1) = CHR$(13) THEN & MID$ "@",A$(Z),X,1
3710 NEXT
3720 VTAB 7: & PRINT : CALL -958: & STR$250," ": & PRINT ,,,A$(Z);"#end": POKE 835,255: & STEP A$(Z): POKE 835,0:I = LEN(A$(Z)): IF I = 0 THEN 3760
3740 FOR X = 1 TO I: IF MID$ (A$(Z),X,1) = "@" THEN & MID$ CHR$(13),A$(Z),X,1
3750 NEXT
3760 VTAB 7: PRINT : CALL -958: & PRINT ,,,A$(Z);"#end": & PRINT ,,"Correct? (Y/N) ";: & USRI: ON I GOTO 3770,3690
3770 GOTO 3600
3780 HOME : & PRINT SPC( 9);"** Edit New User Text **": GOSUB 3530: ON Z GOTO 3800,3860,3430
3800 HOME : & PRINT "-- New User Text --",,:I = 0
3820 IF I >50 THEN 3850
3830 IF N$(I) < >"" THEN & PRINT !;I;">";N$(I): & END Z: ON Z GOTO 3850,3850
3840 I = I +1: GOTO 3820
3850 & PRINT ,,"Press any key to continue...";: GET Z$: GOTO 3780
3860 VTAB 7: & PRINT : CALL -958: VTAB 12: & PRINT SPC( 7);"Edit which line? ";: & STR$2,"090": & INPUT Z$:Z = VAL(Z$): IF Z$ = "" THEN 3780
3870 I = LEN(N$(Z)): IF I = 0 THEN 3900
3880 FOR X = 1 TO I: IF MID$ (N$(Z),X,1) = CHR$(13) THEN & MID$ "@",N$(Z),X,1
3890 NEXT
3900 VTAB 7: PRINT : CALL -958: & STR$250," ": & PRINT ,,,N$(Z);"#end": POKE 835,255: & STEP N$(Z): POKE 835,0:I = LEN(N$(Z)): IF I = 0 THEN 3940
3920 FOR X = 1 TO I: IF MID$ (N$(Z),X,1) = "@" THEN & MID$ CHR$(13),N$(Z),X,1
3930 NEXT
3940 VTAB 7: PRINT : CALL -958: & PRINT ,,,N$(Z);"#end": & PRINT ,,"Correct? (Y/N) ";: & USRI: ON I GOTO 3950,3870
3950 GOTO 3780
3960 & GOSUB 46: PRINT CHR$(4);"STORE VAR.LOG": GOTO 3430
3970 HOME : & PRINT SPC( 9);"** Edit Phone Numbers **": GOSUB 3530: ON Z GOTO 3990,4050,3430
3990 HOME : & PRINT "-- Phone Numbers --",:I = 0
4010 IF I >20 THEN 4040
4020 IF P$(I) < >"" THEN & PRINT !;I;">";P$(I): & END Z: ON Z GOTO 4040,4040
4030 I = I +1: GOTO 4010
4040 & PRINT ,,"Press any key to continue...";: GET Z$: GOTO 3970
4050 VTAB 7: & PRINT : CALL -958: VTAB 12: & PRINT SPC( 7);"Edit which number? ";: & STR$2,"090": & INPUT Z$:Z = VAL(Z$): IF Z$ = "" THEN 3970
4060 VTAB 7: PRINT : CALL -958: & STR$12,"09-": & PRINT ,,,P$(Z): & STEP P$(Z): VTAB 7: PRINT : CALL -958: & PRINT ,,,P$(Z),,"Correct? (Y/N) ";: & USRI: ON I GOTO 4090,4060
4090 GOTO 3970
60000 PRINT CHR$(4);"SAVE LOG": END